home *** CD-ROM | disk | FTP | other *** search
- The following is a first draft of a translation into english of the
- TFPCX Documentation.
- Translated by : Wolfgang Hartmuth,DG2MDJ
- PR-Mail : DG2MDJ@DB0KCP.DEU.EU
- E-Mail : wolfgang_hartmuth@mentorg.com
- Any comments or correction are welcome.
-
- Comment : Due to changes in Y2 call signs may change !
- ====================================================================
-
- TFPCX v1.00 - resident Firmware for SP ( PC ) without TNC
- (Free for Ham's, may not be used comercially)
-
- René Stange, Y51GE
-
- Introduction
- =============
- Finally it is finished. Now the comfortable and wide spread
- terminal program SP developed by Sigi (DL1MEN) may be used
- on IBM's and compatible ( minimum required XT 8MHz ) without
- the need for a TNC. All you need a simple modem ( like Baycom
- or Digicom ) attached to COM1-4 or LPT1-4 and the program TFPCX.
- TFPCX interacts with SP similar to TFPCR, the KISS driver which
- is part of SP. Handling of TFPCX is similar to TFPCR. For more
- information read the SP documentation [1]. On the other hand
- TFPCX is more or less compatible to TheFirmware v2.1c of
- NORD><LINK. This software is used on the TNC2. Some knowlegde
- in how to work with TheFirmware is a good advantage. The
- program may also be used without SP and therefor contains
- some simple terminal routines, which is of interest for
- owners of slow PC's. The program does not work on ATARI ST.
-
-
- Copyright
- ---------
- TFPCX is a Public Domain program and may be used by hams.
- It may be distributed. Comercial use or comercial selling
- is strictly prohibited.
- No warranty for any failure of this program.
- The author shall not be liable for any damage what so ever,
- which may be related to the use of this program.
- The program was written by Y51GE using sources of the
- PD program TFPCR v1.60 (DL1MEN), which uses PD sources of
- TheFirmware v2.1c by NORD><LINK (DC4OX/DF2AU)
-
- Warning
- -------
- If you find out that the program can not correctly decode
- or encode AX25-frames, immediately stop the program and
- use other solutions. This should be done in order to relieve
- the digipeater of useless transmisions. Specially on XT's
- you should observe the monitor window, in order to judge on
- the quality of decoding/encoding.
-
- History of developement
- -----------------------
- March 1990 I started having interest in packet radio, but
- I did not want to buy standard equipement. I heard about
- the program DigiCom and was sure that a similar solution
- for the PC must be feasible. I started to collect information
- about AX25 protocol and with the help of a PC and tape copies
- of the Berlin QRG I tried to decode AX25. That's the way the
- routine for decoding were developed. The biggest problem arose
- in calculating the CRC and creating the routine for transmision.
- At that time I did not have a license, so my brother Mike
- (Y42LK) took over first tests. He also supplied me with modems.
- So I proved that the PC is capable of directly controling
- a modem.
-
- When I first puplished my idea in oct. 1990, there was lots
- of interest in my program. Also I had good feed back that the
- DigiCom team was working on a similar solution. When I asked
- Johannes (DG3RBU), I got the answer that the Baycom solution
- was about to be finished. At that time I came in touch with
- terminal programs for the TNC, so I had the idea of extenting
- those programs with my HDLC routines. I started with Superkiss 3.0
- and wrote a driver which redirected the KISS data onto my routine.
- Next followed SP5.02 and the TCP/IP package by KA9Q. All these
- solutions were working well, but had a big disadvantage. There
- was a need of patching the terminal programs, which is not a
- portable solution and must stick to specific versions of the
- terminal program. Because of this I wrote to Sigi (DL1MEN)
- who imediately gave me the sorce code for TFPCR ( again,
- many thanks to him).
-
- Quickstart
- -----------
- For those who have a Baycom modem for 1200 baud and want
- to test it themselves :
- - those who are still working with a XT should better
- continue reading, it must be tested if this machine
- is fast enough
- - install SP (v5.02 and higher) as if you want to use
- TFPCR
- - replace TFPCR.COM with TFPCX.EXE
- - attach the Baycom modem to a com port
- - enter the command 'TFPCX -PCOMn' where n represents
- the number of the com port used.
- - startup SP
- - if there should be problems continus to read
- - the command 'TFPCX -U' will remove the driver
- from memory
-
- How it works
- ------------
- TFPCX is a TSR program, which must be activated before SP
- is called. TFPCX installs itself in memory. After that you
- get back to the DOS prompt and may start the next program.
- The system will now behave as if you had a normal TNC with
- a terminal progam. You may be connected from outside and
- incoming messages may be stored. As soon as the terminal
- program is started you will see the incoming text on the
- screen. Communicatio with SP is done with a sofware interrupt.
- TFPCX can be compared with the module L2 which is part of the
- Baycom package by Flori(DL8MAT) and Johannes (DG3RBU). SP
- takes the role of the terminal program as SCC does with Baycom.
- The real new compared to TFPCR is, that TFPCX can directly
- controle a modem and is capable of sending and receiving
- AX25 frames without the need for a TNC. TFPCX uses a different
- methode than Baycom which has advantages and disadvantagess.
- As the required timing standart, the system timer (8253
- chanel 0) is used, which drives interrupt 8 3600 times
- per second active. That requires a minimum of CPU power.
- A XT running at 4.77 MHz is most likly not fast enough for
- TFPCX and SP, but 8MHz probably should be sufficient.
- The biggest problem is that the interrupt may not be delayed
- too long otherwise incoming packet will not be decoded
- properly and outgoing packets will be corrupted. This may happen
- when e.g. accessing the disk. A AT should have no problems. Best
- would be if you try it yourself. Some more hints will follow.
-
- Another problem are programs also making use of the timer chip
- like MS-Windows, some mose drivers or MS-QuickC 2.51 ( the compiler
- I use ). You should not use any of these programs as long as
- TFPCX is active. Other wise you will be punished with a wrong
- system time, slow running system or even system crash.
-
- Up to now I only talked about disadvantages. Now some advantages:
- Not talking about more features in SP then in Baycom, which is
- available for a longer time, TFPCX does not require a full
- compatible COM port, because it will be used as a simple
- I/O latch. There is no need that the port can drive an interrupt
- so you may also use anny available LPT port ( e.g. for DigiCom
- modems, which produce ttl level only). Some hope for those
- people who were not successfull with the Baycom modem.!?
-
- Modem connection
- ----------------
- It was not possible for me also to develope a new modem, there are
- others who do it better. So I adopted the Baycom 'standart',
- which already is in use by many YL's and OM's. Additionally you
- may connect another modem ( e.g. DigiCom) to the Centronics
- port. Here is the pinout of the interface :
-
- Com port :
- Signal 25-pin 9-pin used as
- DTR 20 4 transmit data +/- 10 V
- RTS 4 7 PTT, high active, -10V=RX, +10V=TX
- CTS 5 8 receive data
- GND 7 5 ground
-
- LPT port :
- signal 25-pin used as
- DATA7 8 transmit data TTL level
- DATA8 9 PTT, high active, 0V=RX, 5V=TX
- BUSY 11 receive data
- GND 18-25 ground
-
- TheFirmware v2.1c
- -----------------
- Here some short notes how TF v2.1c is realized within TFPCX.
- The Firmware may be used in two different modes ( terminal and
- host mode ) just like with every TNC2. The only difference to a
- normal TNC is, that data are not exchanged via a serial port but
- with the use of software interrupts. The various functions of the
- interrupt are described in the apendix.
-
- When in terminal mode TFPCX can be used as a normal terminal which
- must use the interrupt. Such a terminal routine is already contained
- in TFPCX. The Firmware now offers the user a number of commands, which
- start with the escape key and are executed pressing the enter key.
- The apendix contains a short summary of all implemented commands.
- In [2] you will find a detailed description of TheFirmware.
- The following commands have not been implemented :
- 'A' 'E' 'H' 'K' 'QRES' 'Z' '@K'. The terminal mode is not the best
- solution. SP will use host mode of TheFirmware. TFPCX has been
- compiled for 10 channels.
-
- The TF v2.1c is probably not the state of the art ( v2.3 is
- currently available ) because newer protocol elements are not
- implemented (IPOLL, DAMA, RTT), but is still in use with many TNCs.
- If there is a DAMA digipeater in Berlin I will think of an
- extension. Realized is a defensive slot time handling ( the
- software will wait in any case for the slot time before it
- starts to transmit ). If someone wnats to work in full duplex
- ( for what ever reasons ) he may do so ( enter the command
- '@D1' to switch to fdx ) but keep in mind that this will put
- some extra load on the CPU. So probably you should not do
- so on an XT. In simplex, TFPCX will not decode incoming packets
- when it is transmitting.
-
- Startup of TFPCX
- ----------------
- TXPCX is started with the following command line at the DOS
- prompt :
- TFPCX [-PCOMn | -PLPTn] [-Bnnnn] [-Ixx] [-N] [-D] [-Ffile]
- [] = optional
- | = alternative
- n = decimal number
- x = hex number
- All parameters are optional and mus begin with the minus sign.
- Additional paarameters must be seperated with a space. Within
- a parameter string no spaces are allowed. The software is not
- case sensitive. After successful startup you should see the
- following startup screen :
-
- ┌──────────────────────────────────────┐
- │ TFPCX v1.00 (Sep 11 1991) by Y51GE │
- │ TF v2.1c by NORD><LINK (DC4OX/DF2AU) │
- │ Portions by DL1MEN │
- │ Free for non-commercial usage │
- ├──────────────────────────────────────┤
- │ COM1, 1200 Baud, Int FE, 10 Channels │
- └──────────────────────────────────────┘
- and the dos prompt should appear. TFPCX is now installed and
- uses approximately 46 Kb of main memory. Here an explanation
- of all command line options :
- -PCOMn (Baycom-) modem attached to COM port n
- ( possible are COM1 to COM4 )
- -PLPTn Modem attached to LPTn ( LPT1 to LPT4 )
- The bias address of the comm port will be retrieved from
- the bios data area. But keep in mind that some versions
- of the bios don't do that for COM3 and COM4.
- -Bnnn Baudrate at modem (300,1200,2400,4800,9600)
- The maximum baudrate is limited by the cpu power. 9600
- is perhaps a bit too much ( if there is 80586, maybe than).
- For other baudrates then 1200 you can not use the Baycom modem.
- If 300 baud are used the system clock will run false about
- 30 seconds per hour.
- -Ixx Software interrupt for communication with SP ( 40-FF)
- The default value is FE. This option is only required if other
- programs use a different interrupt.
- -N Supress system messages
- If you dislike the appearance of messages you may switch them
- off using this option.
- -D Test mode ( debug)
- When in this mode each timer interruppt will produce a change
- of the edge at the speaker input. At 1200 baud a clean 3600 Hz
- tone should be heard ( 3 * baud rate ). The tone should sound
- more or less clean. If the interruppt is delayed too long the
- tone will heavily distorted. If you only hear that noise, than
- probably your computer is too slow. it is difficult to give a
- limit because there will always be some basic noise. But if
- nothing is heard ( except at 9600 baud, which is 29 kHz )
- something serious is wrong.
- -Ffile Initialization file ( default name TFPCX.INI)
- If this file is read all characters from it will be transmitted
- to the Firmware in terminal mode to enable default setting
- of parameters. This may be of special interest if the program
- should run in background mode without staing SP. During noraml
- operation you will not need this option. The file will be searched
- for in the current directory if the full pathname is not specified.
- Each '^' character will be translated to an escape charater, which
- is the first character when entering a command in terminal mode.
- Linefeeds will be filtered, so that you can create the file using
- your favourate ASCII text editor. As an example :
- ^F 6
- ^I MYCALL
- ^N 16
- ^O 2
- ^P 64
- ^R 1
- ^T 25
- ^U 1 Welcome in where-ever - TFPCX V1.00 - SP offline
- ^W 25
- All options will be displayed when entering the command 'TFPCX -H'
- at the DOS prompt. If you enter TFPCX at the DOS prompt, the default
- options are -PCOM1 -B1200 -IFE. If you are working on short wave at
- 300 baud most likely the following command exemple will do :
- TFPCX -PLPT1 -B300
-
- Installing TFPCX
- ----------------
- (1) Install SP just if you would work with TFPCR ( see [1]).
- Specifically the following lines should be found in SP.CFG
- ( with SP6 CONFIG.SP) :
- CFG=TNCS:1
- CFG=PORT0:5
- CFG=CHANS0:10
- SP version before 5.02 should not be used, because the TFPCR
- interface may not be incompatible to the current version.
- Highloading of the driver has not been tested with MSDOS
- or DRDOS V5.0. Those of you who are willing to try it are
- welcome, set CFG=PORT0:5H.
-
- This version assumes that TFPCX uses one TNC only. Multi
- TNC operation has not been tested but should theoretically
- be possible. Then TFPCX is most likely only usable for one
- HF port and TFPCR may not be loaded simultaniously. It must
- be clear that interruppts coming from serial ports which are
- connected to TNCS, may make it impossible to receive or
- transmit high quality AX25 frame. That is also why a fast
- PC is required ( how fast I don't know ).
-
- All files belonging to TFPCR (TFPCR.COM, UNTFPC.EXE,
- AUTOKISS.CFG ) may be removed from the SP directory ( but
- NOT from your original diskette ). Instead you copy TFPCX.EXE
- to same directory where SP.EXE is installed.
-
- (2) Now connect the modem to COM1-4 or LPT1-4 and startup
- TFPCX. If you are not using COM1, pass the port with the
- option -P to the program. If the system slows down
- dramatically ( specially during disk accesses ) probably
- the used baud rate is too high. Perhaps you may then start
- TFPCX in terminal mode ( see below ) which may only aply
- to computers where Baycom does not work.
-
- (3) Next startup SP. If SP's startup message is not displayed
- on the screen, 'TNC#0 - (TFPCR / FE) in Hostmode', something
- went wrong during installation of SP. Now look for a QRG with
- packet signals and enter the command <ESC> MISUC to turn
- monitoring on, you should see incoming packets. If no frames
- are displayed exit from SP and remove TFPCX from memory with
- the command TFPCX -U. Now restart TFPCX with the extra option
- -D. Now a 3600 Hz (at 1200 baud) should be heard from the PC's
- internal speaker. If nothing is heard, the timer may be
- incompatible ( stop everything and get a 100 % compatible PC )
- or the internal speaker is defect( yes, I already had that bug).
- Now restart SP. If the tone changes to noise only ( execept
- during loading of the program ), the PC is not fast enough
- for the interruppts of the timer chip. If the tone is
- relatively clean, the failure could be the modem itself
- or the TRX.
-
- (4) If the monitor is working you may try a connect. Here
- the PTT should be carefully watched. Theorectically all
- should work now properly. Think also that receiving frames
- works perfectly but transmitting frames does not.
-
- Removing TFPCX from memory
- --------------------------
- You remove TFPCX from memory with the command 'TFPCX -U'
- at the DOS prompt. With TFPCX no extra program is required
- to remove it from memory.
-
- Terminal mode
- -------------
- With the command TFPCX -T at the DOS prompt a simple terminal
- emulator will be started, so SP is not needed. But before that
- TFPCX must loaded into memory ( as described above ). So the
- program is call twice, but with different options at the DOS
- prompt. With ALT-X the terminal program is terminated, but before
- that you should disable monitoring if it was active with the
- command <ESC> 'MN', or monitoring will grap memory. Then SP may
- have problems starting up. If you only work in terminal mode
- I recommend to use the option -F to use default settings. The
- following batch file will be of some help :
- @echo off
- tfpcx -n -f
- tfpcx -t
- tfpcx -n -u
-
- Summary
- -------
- At the end I want to share some expierience with you. I know
- that the presented solution is probably not without any problems.
- For newcomers I recommend Baycom, also SP is not so simple to
- handle. TFPCX is for hams already acustomed to SP, who do not
- want to get a TNC or want to operate portable and have time
- working with a PC and probably with one of the most comfotable
- terminal programs. If you are not one of those fell free using
- TFPCX.
-
- Because of increasing baud rates it may be useless getting the
- program. to give you some ideas here is a table what you can
- expect from a PC. The table is an approximation and without
- any guaranty.
-
- PC XT XT 286 386
- MHz 5 8 12 20
- -----------------------------------------
- baud ST ST ST ST
- 300 ** ** ** **
- 1200 /? ** ** **
- 2400 // /? ** **
- 4800 // // ?? **
- 9600 // // // ??
-
- S = with SP * = possible ? = don't know
- T = Terminal mode / = not possible
-
- You see there is a wide field for experiments. Test results are
- always welcome. Test have been carried aout under the following
- conditions.
- - PC : Carry-I (AT/286 12MHz)
- Amstrad PC 1512 (XT/8086 8 MHz)
- Tulip PC compact 2 (XT/V20 >9MHz)
- - Baycom modem connected to COM1 or COM2
- - 1200 baud
- - SP 5.02.07 and 6.00.00
-
- As one can see not all has been tested so you never know what
- will happen next. With the Amstrad PC do not load the mouse driver
- otherwise the clock will go wrong if using TFPCX.
-
- * * *
-
- Those who are interested in the program send a formatted diskette
- and a self addressed diskette mailer and enough IRC's to :
- René Stange
- O.-Grotewohl-Ring 34
- O-1260 Strausberg
- possible diskettes : 3 1/2" 720K or 1.44M
- 5 1/4" 360 ( NO High Density)
- I do want to make profit sso stick to the above. I don't have
- the money to do more then copying and taking the envelope to
- the post office.
-
- Bugreports, testresults and enhancement requests are welcome
-
- 73's de René, Y51GE @ DB0GR.DEU.EU
-
-
-
- Apendix
- -------
- TFPCX interruppt functions
- --------------------------
- There are three subfunctions which are selected by a proper
- value in register AH passed to TFPCX. On return AX holds
- the result or FFFF if an invalid function has been selected.
- AH = 1 test for a received character
- return: AX = 0 no character
- AX = 1 character ready
-
-
- AH = 2 Get a received character. Call this only
- after function AH=1 returned a 1
- return: AL character
-
- AH = 3 Send a character to the Firmware
- Parameter: AL character to send
-
- Commands of TheFirmware v2.1c [2]
- ---------------------------------
- Command parameter desciption
- C call1 [call2..call9] connect path (chan0: unproto)
- D disconnect
- F (4) 1..15 delay for answer (seconds)
- G [0] get information in host mode
- [1] get status in host mode
- JHOST(0) 0 terminal mode on
- 1 host mode on
- L [0..10] display status for channel
- M (IU) NIUSC+- monitor mode
- N (10) 0..255 P-persistence
- R (0) 0/1 digipeater off/on
- S (1) 1..10 channel number, 0 = unproto
- T (30) 0..127 txdelay ( 10ms steps )
- U (0) 0/1 [text] enable/disable connect text
- V (2) 1/2 protocol version 1/2
- W (10) 0..127 time slot for P-presistence
- ( 10 ms steps )
- X (1) 0/1 disable/enable PTT
- Y (10) 0..10 Maximum number of connects
- @B display number of free buffers
- @D (0) 0/1 FDX off/on
- @S display link status
- @T2 (100) 0..255 timer T2 ( 10 ms steps )
- @T3 (18000) 0..32767 timer T3 ( 10 ms steps )
- @v (0) 0/1 disable/enable call checking
- [] optional parameter
- () default value
-
- Literature
- ----------
- [1] DL1MEN : Manual for Eskay Packet (SP) for v5.02 and above
- [2] NORD><LINK : documentation for TheFirmware 2.1c
- ( May be available in PBBS's)
- [3] DL8MBT, DG3RBU: Baycom v1.40 - manual
-
-